package com.jy.modules.cims.common.sysUtils;

import java.io.File;
import java.io.IOException;
import java.io.OutputStream;

public interface IFTPClient {

	/**
	 * 
	 */
	public void init(String hostname, int port, String user, String Password);

	/**
	 * @return 判断是否登入成功
	 * */
	public boolean ftpLogin();

	/**
	 * @退出关闭服务器链接
	 * */
	public void ftpLogOut();

	/***
	 * 上传Ftp文件
	 * 
	 * @param localFile
	 *            当地文件
	 * @param romotUpLoadePath
	 *            上传服务器路径 应该以/结束
	 * */
	public boolean uploadFile(File localFile, String romotUpLoadePath);

	/***
	 * 下载文件
	 * 
	 * @param remoteFile
	 *            待下载文件名称(必要包含完整路径)
	 * @param localFile
	 *            下载到当地那个路径下(必要包含完整路径)
	 * */

	public boolean downloadFile(String remoteFile, String localFile);

	/***
	 * 下载文件到输出流
	 * 
	 * @param remoteFile
	 *            待下载文件名称(必要包含完整路径)
	 * @param outputStream
	 *            文件输出流
	 * */

	public boolean downloadFile(String remoteFile, OutputStream outputStream);

	/***
	 * @上传文件夹
	 * @param localDirectory
	 *            当地文件夹
	 * @param remoteDirectoryPath
	 *            Ftp 服务器路径 以目录"/"结束
	 * */
	public boolean uploadDirectory(String localDirectory, String remoteDirectoryPath);

	/***
	 * @下载文件夹
	 * @param localDirectoryPath本地地址
	 * @param remoteDirectory
	 *            远程文件夹
	 * */
	public boolean downLoadDirectory(String localDirectoryPath, String remoteDirectory);

	/**
	 * 判断文件是否存在
	 * 
	 * @param remoteFile
	 * @return
	 * @throws IOException
	 */
	public boolean existsFile(String remoteFile) throws IOException;

}
